
const app = getApp()

Page({
  data: {
    carts: [],               // 购物车列表
    hasList: false,          // 列表是否有数据
    totalPrice: 0,           // 总价，初始为0
    selectAllStatus: true,   // 全选状态，默认全选
    compile:'编辑商品',
    compileState:true,
    bar_Height: wx.getSystemInfoSync().statusBarHeight + 45,

  },

  /**跳转商品详情 */
  singleClick (e) {
    let shoptwo, shopse;
    // wx.setStorageSync('headlineId', e.currentTarget.dataset.id)
    wx.navigateTo({
      url: '/pages/index/particulars/particulars',
    })
  },

  // onShow() {
  //   this.setData({
  //     hasList: true,        // 既然有数据了，那设为true吧
  //   });
  // },
/**编辑商品 */
  compile(e){
    var that = this;
    var compile = that.data.compile;
    let state, compileState;
    if (compile === '编辑商品'){
      state = '完成';
      compileState = false
    }else{
      state = '编辑商品';
      compileState = true
    }
    this.setData({
      compile: state,
      compileState: compileState
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**选中 */
  getTotalPrice() {
    let carts = this.data.carts;                  // 获取购物车列表
    let total = 0;
    for (let i = 0; i < carts.length; i++) {         // 循环列表得到每个数据
      if (carts[i].selected) {                   // 判断选中才会计算价格
        total += carts[i].num * carts[i].price;     // 所有价格加起来
      }
    }
    this.setData({                                // 最后赋值到data中渲染到页面
      carts: carts,
      totalPrice: total.toFixed(2)                //toFixed（2）四舍五入小数点后两位
    });
  },
  /**选择 */
  selectList(e) {
    const index = e.currentTarget.dataset.index;    // 获取data- 传进来的index
    let carts = this.data.carts;                    // 获取购物车列表
    const selected = carts[index].selected;         // 获取当前商品的选中状态
    carts[index].selected = !selected;              // 改变状态
    this.setData({
      carts: carts
    });
    this.getTotalPrice();                           // 重新获取总价
  },
/**删除 */
  shopDel(e){
    let carts = this.data.carts;
    let arr = [];
    for (let i = 0; i < carts.length; i++) {         // 循环列表得到每个数据
      if (carts[i].selected){
        arr.push(carts[i])
      }
    }
    for (let k = 0; k < carts.length; k++) {         // 循环列表得到每个数据
      for (let j = 0; j < arr.length; j++) {         // 循环列表得到每个数据
        if (carts[k].id == arr[j].id){
          carts.splice(k,1)
        }
      }
    }
    this.setData({
      carts: carts
    })
    wx.setStorage({
      key: "addCarts",
      data: carts
    })
    this.getTotalPrice();
  },

  /**全选 */
  selectAll(e) {
    let selectAllStatus = this.data.selectAllStatus;    // 是否全选状态
    selectAllStatus = !selectAllStatus;
    let carts = this.data.carts;

    for (let i = 0; i < carts.length; i++) {
      carts[i].selected = selectAllStatus;            // 改变所有商品状态
    }
    this.setData({
      selectAllStatus: selectAllStatus,
      carts: carts
    });
    this.getTotalPrice();                               // 重新获取总价
  },
  /**增加 */
  addCount(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    let num = carts[index].num;
    num = num + 1;
    carts[index].num = num;
    this.setData({
      carts: carts
    });
    wx.setStorage({
      key: "addCarts",
      data: carts
    })
    this.getTotalPrice();
  },
  /**减少 */
  minusCount(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    let num = carts[index].num;
    if (num <= 1) {
      return false;
    }
    num = num - 1;
    carts[index].num = num;
    this.setData({
      carts: carts
    });
    wx.setStorage({
      key: "addCarts",
      data: carts
    })
    this.getTotalPrice();
  },
  /**删除 */
  // deleteList(e) {
  //   const index = e.currentTarget.dataset.index;
  //   let carts = this.data.carts;
  //   carts.splice(index, 1);              // 删除购物车列表里这个商品
  //   this.setData({
  //     carts: carts
  //   });
  //   if (!carts.length) {                  // 如果购物车为空
  //     this.setData({
  //       hasList: false              // 修改标识为false，显示购物车为空页面
  //     });
  //   } else {                              // 如果不为空
  //     this.getTotalPrice();           // 重新计算总价格
  //   }
  // }
  //   /**
//    * 生命周期函数--监听页面显示
//    */
  onShow: function () {
    wx.hideShareMenu()
    var that = this
    this.setData({
      hasList: true,        // 既然有数据了，那设为true吧
    });
    var arr=[];
    var nums = 0;
    wx.getStorage({
      key: 'addCarts',
      success: function (res) {
        arr = res.data;
        for(var i=0;i<arr.length;i++){
          nums = nums + arr[i].num * arr[i].price
          arr[i].selected = true;
        }
        let cartK;
        if (arr.length <1){
          cartK = false
        }else{
          cartK = true
        }

        that.setData({
          carts: arr,
          totalPrice: nums.toFixed(2),
          cartK: cartK
        })
      }
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    wx.showNavigationBarLoading() //在标题栏中显示加载
    //模拟加载
    // setTimeout(function () {
    //   // complete
    //   wx.hideNavigationBarLoading() //完成停止加载
    //   wx.stopPullDownRefresh() //停止下拉刷新
    // }, 1500);

  },

  /**结算 */
  accounts(e){
    var that = this;
    let carts = this.data.carts;
    let k=0;
    if (carts.length>0){
      for (var i = 0; i < carts.length; i++) {
        if (carts[i].selected){
          k++
        }
      }
    }
    if(k>0){
      wx.setStorageSync('accountsCart', carts)
      wx.setStorageSync('buy_num', 1)
      wx.navigateTo({
        url: '/pages/index/shopCart/accounts/accounts',
      })
    }else{
      wx.showModal({
        title: '提示',
        content: '您还未选择商品',
        success: function (res) {
          if (res.confirm) {
          }
        }
      })
    }
    
    
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    // wx.hideShareMenu()
    // wx.ready(function () {
    //   //批量隐藏功能
    //   wx.hideMenuItems({
    //     menuList: ['menuItem:share:appMessage'] // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
    //   });
    // });
  }
})